<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>1.事件的基本使用</title>
		<style>
			.hello{
				width: 200px;
				height: 200px;
				background-color: skyblue;
			}
		</style>
		<!-- 引入开发版本的Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 
			事件的基本使用（掌握）：
					1.使用v-on:xxx 或 @xxx 绑定事件，其中xxx是事件名；
					2.事件名若为多个单词组成，可以写成小驼峰的形式；
					3.事件的回调需要配置在methods对象中，最终会在vm上；
					4.methods中配置的函数，不要用箭头函数！否则this就不是vm了；
					5.methods中配置的函数，都是被Vue所管理的函数，this的指向是vm 或 组件实例对象；
					6.@click="demo" 和 @click="demo($event)" 效果一致，但后者可以传参；
		 -->
		<!-- 准备好一个容器-->
		<div id="root">
			<h1>欢迎来到{{school}}学习</h1>
			<!-- 使用v-on绑定事件 -->
			<button v-on:click="showMsg1">点我提示信息1（v-on绑定）</button> <br/><br/>
			<!-- 使用@绑定事件 -->
			<button @click="showMsg1">点我提示信息1（@绑定）</button> <br/><br/>
			<!-- 绑定事件+传参 -->
			<button @click="showMsg2(666,$event)">点我提示信息2</button> <br/><br/>
			<!-- 多个单词组成的事件名 -->
			<div @mouseEnter="sayHello" class="hello">你好</div>
		</div>
	</body>

	<script type="text/javascript">
		Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
		
		const vm = new Vue({
			el:'#root',
			data:{
				school:'尚硅谷',
			},
			methods:{
				showMsg1(event){
					console.log(this)
					console.log('同学你好！',event.target.innerText)
				},
				showMsg2(n,e){
					console.log('showMsg2',n,e.target.innerText)
				},
				sayHello(){
					console.log('Hello')
				}
			}
		})

		
	</script>
</html>